package nfes.the.classes;

import com.thoughtworks.xstream.annotations.XStreamAlias;
import java.io.Serializable;

/**
 * @author Julianna Paz
 */
@XStreamAlias("Cabecalho")
public class Cabecalho implements Serializable {

    private Long id;
    private Integer CodCidade;
    private String CPFCNPJRemetente;
    private String RazaoSocialRemetente;
    private String transacao;
    private String dtInicio;
    private String dtFim;
    private Integer QtdRPS;
    private Double ValorTotalServicos;
    private Double ValorTotalDeducoes;
    private int Versao = 1;
    private String MetodoEnvio;
    //Dados para cabeçalho de retorno
    private Boolean Sucesso;
    private Integer NumeroLote;
    private String DataEnvioLote;
    private Integer QtdNotasProcessadas;
    private Integer TempoProcessamento;
    private Integer NroUltimoRps;

    public Cabecalho() {

    }

    public Cabecalho(Integer codCidade, String cPFCNPJRemetente,
            String razaoSocialRemetente, String dtInicio, String dtFim,
            Integer qtdRPS, Double valorTotalServicos,
            Double valorTotalDeducoes, String transacao) {
        MetodoEnvio = "WS";
        CodCidade = codCidade;
        CPFCNPJRemetente = cPFCNPJRemetente;
        RazaoSocialRemetente = razaoSocialRemetente;
        this.transacao = transacao;
        this.dtInicio = dtInicio;
        this.dtFim = dtFim;
        QtdRPS = qtdRPS;
        ValorTotalServicos = valorTotalServicos;
        ValorTotalDeducoes = valorTotalDeducoes;
    }

    public Integer getCodCidade() {
        return CodCidade;
    }

    public void setCodCidade(Integer codCidade) {
        CodCidade = codCidade;
    }

    public String getCPFCNPJRemetente() {
        return CPFCNPJRemetente;
    }

    public void setCPFCNPJRemetente(String cPFCNPJRemetente) {
        CPFCNPJRemetente = cPFCNPJRemetente;
    }

    public String getRazaoSocialRemetente() {
        return RazaoSocialRemetente;
    }

    public void setRazaoSocialRemetente(String razaoSocialRemetente) {
        RazaoSocialRemetente = razaoSocialRemetente;
    }

    public String getDtInicio() {
        return dtInicio;
    }

    public void setDtInicio(String dtInicio) {
        this.dtInicio = dtInicio;
    }

    public String getDtFim() {
        return dtFim;
    }

    public void setDtFim(String dtFim) {
        this.dtFim = dtFim;
    }

    public Integer getQtdRPS() {
        return QtdRPS;
    }

    public void setQtdRPS(Integer qtdRPS) {
        QtdRPS = qtdRPS;
    }

    public Double getValorTotalServicos() {
        return ValorTotalServicos;
    }

    public void setValorTotalServicos(Double valorTotalServicos) {
        ValorTotalServicos = valorTotalServicos;
    }

    public Double getValorTotalDeducoes() {
        return ValorTotalDeducoes;
    }

    public void setValorTotalDeducoes(Double valorTotalDeducoes) {
        ValorTotalDeducoes = valorTotalDeducoes;
    }

    public String getMetodoEnvio() {
        return MetodoEnvio;
    }

    public void setMetodoEnvio(String metodoEnvio) {
        MetodoEnvio = metodoEnvio;
    }

    public String getTransacao() {
        return transacao;
    }

    public void setTransacao(String transacao) {
        this.transacao = transacao;
    }

    public int getVersao() {
        return Versao;
    }

    public void setVersao(int versao) {
        Versao = versao;
    }

    public Boolean getSucesso() {
        return Sucesso;
    }

    public void setSucesso(Boolean Sucesso) {
        this.Sucesso = Sucesso;
    }

    public Integer getNumeroLote() {
        return NumeroLote;
    }

    public void setNumeroLote(Integer NumeroLote) {
        this.NumeroLote = NumeroLote;
    }

    public String getDataEnvioLote() {
        return DataEnvioLote;
    }

    public void setDataEnvioLote(String DataEnvioLote) {
        this.DataEnvioLote = DataEnvioLote;
    }

    public Integer getQtdNotasProcessadas() {
        return QtdNotasProcessadas;
    }

    public void setQtdNotasProcessadas(Integer QtdNotasProcessadas) {
        this.QtdNotasProcessadas = QtdNotasProcessadas;
    }

    public Integer getTempoProcessamento() {
        return TempoProcessamento;
    }

    public void setTempoProcessamento(Integer TempoProcessamento) {
        this.TempoProcessamento = TempoProcessamento;
    }

    public Integer getNroUltimoRps() {
        return NroUltimoRps;
    }

    public void setNroUltimoRps(Integer NroUltimoRps) {
        this.NroUltimoRps = NroUltimoRps;
    }
}
